Uec3.ShowCompanyQuotationWindow = Ext.extend(Ext.Window, {
	initPanel : function() {

		// 来源下拉框
		var sourceType_store = getDictionaryStore(RES_PATH, {
			group : 'part_source'
		});
		this.source_cmb = getDictionaryComboBox(sourceType_store, 'local', 'part_source',
				'来源', 'source', 80);
		sourceType_store.load();
		
		this.source_cmb1 = Uec3.App.dictionary.getCombo("part_source", {showWhole:true, width:80, hiddenName : 'source'});
		
		this.advancedQueryPanel = this.createAdvancedQueryPanel();
		this.openWindow = this.createOpenWindow();

		this.record = this.createRecord();
		this.colName = this.createColName();
		this.store = this.createStore();
		this.grid = this.createGrid();

		this.formPanel = this.createJoinPanel();

		this.add(this.formPanel);
		this.add(this.grid);
		
		this.doLayout();
		this.show();
		this.creator.app.getDesktop().addAutoRun(this.getId());
		this.store.load();
	},
	createJoinPanel : function() {
		return new Ext.FormPanel({
				layout:'uec3grid',
				layoutConfig:{
					hGrid:[6,9,6,9,6,9,6,9,6,9,6,9,6],
					vGrid:[60,40]
				},
				height : 70,
				items : [
							{
								xtype : 'label',
								html : '搜索<font color="red">' + this.companyName + '</font>报价信息',
								style : {
									fontSize : '22px'
								},
								grid : [1,1,13,1]
							}, {
								xtype : 'label',
								text : '编码:'
							}, {
								xtype : 'textfield',
								name : 'code'
							}, {
								xtype : 'label',
								text : '名称:'
							}, {
								xtype : 'textfield',
								name : 'name'
							}, {
								xtype : 'label',
								text : '车型:'
							}, {
								xtype : 'textfield',
								name : 'carModel'
							}, {
								xtype : 'label',
								text : '来源:'
							}, this.source_cmb1, {
								xtype : 'label',
								text : '品牌:'
							}, {
								xtype : 'textfield',
								name : 'brand'
							}, {
								xtype : 'label',
								text : '产地:'
							}, {
								xtype : 'textfield',
								name : 'origin'
							}, {
								xtype : 'button',
								text : '查    找',
								width : 60,
								style : {
									marginLeft : '30px'
								},
								listeners : {
									click : function() {
		
										var params = this.formPanel.getForm().getValues();
										params = castNoSelToNULL(params);
										params.companyId = this.companyId;
										
										params = Ext.util.JSON.encode(params);
										
										this.store.baseParams = {'queryParam' : params};
		
										this.store.load();
										
									}.createDelegate(this)
								}
		
							}
				
					]
			});
	},

	queryByComplex : function() {
		this.advancedQueryPanel.getForm().reset();
		this.openWindow.show();
	},
	createAdvancedQueryPanel : function() {
		return new Ext.form.FormPanel({
					labelSeparator : "：",
					frame : true,
					border : false,
					items : [{
								xtype : 'textfield',
								width : 200,
								fieldLabel : '零件名称',
								name : 'name'
							}, {
								xtype : 'textfield',
								width : 200,
								fieldLabel : '零件编码',
								name : 'code'
							}, {
								xtype : 'textfield',
								width : 200,
								fieldLabel : '英文零件名称',
								name : 'nameEn'
							}, {
								xtype : 'textfield',
								width : 200,
								fieldLabel : '品    牌',
								name : 'brand'
							}, {
								xtype : 'textfield',
								width : 200,
								fieldLabel : '产    地',
								name : 'origin'
							}],
					buttons : [{
								text : '查找',
								handler : this.searchResultByCondition.createDelegate(this)
							}, {
								text : '关闭',
								handler : function() {
									this.openWindow.hide();
								}.createDelegate(this)
							}]

				});
	},
	searchResultByCondition : function() {
		var form_values = this.advancedQueryPanel.getForm().getValues();
	
		for (var j in form_values) {
			form_values[j] = castNoSelToNULL(form_values[j]);
		}
		
		form_values.companyId = this.companyId;
		
		form_values = Ext.util.JSON.encode(form_values);
		
		this.store.baseParams = {'queryParam' : form_values};
		
		this.store.load();
		
		this.openWindow.hide();
	},
	createOpenWindow : function() {
		return new Ext.Window({
					title : '高级查找',
					layout : 'fit',
					width : 380,
					closeAction : 'hide',
					height : 330,
					resizable : true,
					shadow : true,
					modal : true,
					closable : true,
					bodyStyle : 'padding:5 5 5 5',
					animCollapse : true,
					items : [this.advancedQueryPanel]
				});
	},
	createRecord : function() {
		return Ext.data.Record.create([
				{
					name : 'marketName'
				}, {
					name : 'province'
				}, {
					name : 'companyId'
				}, {
					name : 'companyName'
				}, {
					name : 'varName1'
				}, {
					name : 'companyType'
				}, {
					name : 'varName2'
				}, {
					name : 'realType'
				}, {
					name : 'carModel'
				}, {
					name : 'name'
				}, {
					name : 'code'
				}, {
					name : 'source'
				}, {
					name : 'measurementUnit'
				}, {
					name : 'swapCode'
				}, {
					name : 'level1Name'
				}, {
					name : 'level2Name'
				}, {
					name : 'brand'
				}, {
					name : 'origin'
				}, {
					name : 'retailPrice'
				}, {
					name : 'gmtLastQuotation'
				}, {
					name : 'gmtLastSold'
				}, {
					name : 'discount'
				}]);
	},
	createColName : function() {

		return new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),
				{
					header : '编码',
					dataIndex : 'code',
					width : 122
				}, {
					header : '来源',
					dataIndex : 'source',
					renderer : Ext.util.Format.comboRenderer(this.source_cmb),
					width : 80
				}, {
					header : '名称',
					dataIndex : 'name',
					width : 130
				}, {
					header : '单位',
					dataIndex : 'measurementUnit',
					width : 35
				}, {
					header : '车型',
					dataIndex : 'carModel',
					width : 80
				}, {
					header : '媒体价',
					dataIndex : 'retailPrice',
					width : 70
				}, {
					header : '品牌',
					dataIndex : 'brand',
					width : 80
				}, {
					header : '产地',
					dataIndex : 'origin',
					width : 80
				}, {
					header : '最后卖出时间',
					dataIndex : 'gmtLastSold',
					width : 128
				}, {
					header : '互换码',
					dataIndex : 'swapCode',
					width : 122
				}, {
					header : '市场名称',
					dataIndex : 'marketName',
					width : 80
				}, {
					header : '省份',
					dataIndex : 'province',
					width : 50
				}, {
					header : '公司名称',
					dataIndex : 'companyName',
					width : 122
				}, {
					header : '公司类型',
					dataIndex : 'varName1',
					width : 80
				}, {
					header : '实名认证类型',
					dataIndex : 'varName2',
					width : 80
				}, {
					header : '最后报价时间',
					dataIndex : 'gmtLastQuotation',
					width : 128
				}]);
	},
	showCompany : function() {
//		var record = this.grid.getSelectionModel().getSelected();
//		if(record == null) {
//			Ext.Msg.alert('错误提示', '您未选择行记录或为空记录..');
//			return;
//		}
//		var companyId = record.get('companyId');
		  
		var desktop = Uec3.App.getDesktop();
		
		Ext.Ajax.request({
			url : Uec3.App.Constants.homeUrl
					+ '/company/query_company!showCompanyMessage.do',
			success : function(res) {
		          
				var result = Ext.decode(res.responseText);
				
				if (result.success == "OK") {
		
				     if(result.message == 1){
				    				    	
				    	  desktop.launchWindowByParam("simpleCompanyMessage", {'id' : this.companyId, 'isHiddenButton' : true});
				   	 }
				   	 
				     if(result.message == 2){
				    	 desktop.launchWindowByParam("retailCompanyMessage", {'companyId' : this.companyId});
				     }
					
				} else {
		
					Ext.Msg.alert("提示", result.failure);
		
				}
			}.createDelegate(this),
		
			failure : function(res) {
		
				Ext.Msg.alert('失败', "网络出现异常，请重先连接");
		
			},
		
			params : {
				'companyId' : this.companyId
			}
	
		});
	},
	addPartner : function() {	
		
//		var desktop = Uec3.App.getDesktop();

//		var record = this.grid.getSelectionModel().getSelected();
//		if(record == null) {
//			Ext.Msg.alert('错误提示', '您未选择行记录或为空记录..');
//			return;
//		}
		
//		var companyId = record.get('companyId');

//		this.loadMask = new Ext.LoadMask(this.getId(), {
//							removeMask : true,
//							msg : '数据传送中......'
//						});
//		this.loadMask.show();
					
//		var companyName = record.get('companyName');
		
		var companyId = this.store.getAt(0).data.companyId;
		var companyName = this.store.getAt(0).data.companyName;
		
		checkCertify(null, this.grid, null, null, companyId, companyName, companyId, ',把您加为往来单位', null, null);
		
		
//		if (companyId == 0 || companyId == "") {
//			
//			Ext.Msg.alert("提示",
//					"请先点击检查认证按钮,确认对方已是认证公司,才能进行这步操作")
//
//			return;
//		}
//		Ext.Ajax.request({
//			url : Uec3.App.Constants.homeUrl
//					+ '/partner/query_partner!add_Partner.do',
//			success : function(res) {
//				
//                if(this.loadMask) {
//					this.loadMask.hide();
//				}
//				var result = Ext.decode(res.responseText);
//				if (result.success == "OK") {
//
//					 desktop.launchWindowByParam("requestAddPartner",{companyId : companyId, name : companyName, winId : companyId});
//					
//				} else {
//                         if(result.failure=="isSelf"){
//                        	 
//                     		Ext.Msg
//							.alert("提示",
//									"您好,不能加自己为客户");                      	 
//                         }
//			           if(result.failure=="alreadyPartner"){
//			        	   
//			         		Ext.Msg
//							.alert("提示",
//									" 您好,该公司已经是你的客户,不能重复增加,请到客户列表查看");   
//			        	   
//			           }
//
//				}
//			}.createDelegate(this),
//
//			failure : function(res) {
//				if(this.loadMask) {
//					this.loadMask.hide();
//				}
//				Ext.Msg.alert('失败', "网络出现异常，请重先连接");
//
//			}.createDelegate(this),
//
//			params : {
//				companyId : companyId
//			}
//
//		});
		
		
		
//		Ext.Ajax.request({
//			url : RES_PATH + '/partner/addPartner.do',
//			
//			params : {
//				'companyId' : this.companyId,
//				'relation' : '1'
//			},
//			
//			success : function(res) {
//                  
//				var obj = Ext.decode(res.responseText);
//				if (obj.result == "ok") {
//					Ext.Msg.alert("提示", "您增加供应商操作成功.");
////						desktop.launchWindowByParam("partner_add", {companyId : companyId});
//				} else if(obj.result == "ownerIdEqualsCompId") {
//					Ext.Msg.alert("提示", "您不可以加自己为供应商.");
//				} else if(obj.result == "companyIsNull") {
//					Ext.Msg.alert("提示", "您所选择的该公司不存在.");
//				} else if(obj.result == "exist") {
//					Ext.Msg.alert("提示", "您所选择的该公司已经是供应商.");
//				} else {
//					
//				}
//				if(this.loadMask) {
//					this.loadMask.hide();
//				}
//			},
//
//			failure : function(res) {
//				if(this.loadMask) {
//					this.loadMask.hide();
//				}
//				Ext.Msg.alert('失败', "网络出现异常，请重先连接");
//			}
//
//		});			
		
	},
	launchWindow : function(compId, record) {
		Ext.Ajax.request({
			url : RES_PATH + '/partner/checkPartner.do',
			params : {'companyId' : compId },
			success : function(data) {
				var bo = Ext.decode(data.responseText);
				if(bo && bo.result + '' == 'go_on') {
					var desktop = Uec3.App.getDesktop();
					desktop.launchWindowByParam("addAutoPurchaseOrderWindowCreator", {'partnerId' : bo.partnerId, 'companyId' : compId, 'record' : record, linkWindow : this.linkQuotaWindow});
				}
			}.createDelegate(this)
		});
	},
	addPurchaseOrder : function() {
		
		var desktop = Uec3.App.getDesktop();
		
//		this.loadMask = new Ext.LoadMask(this.getId(), {
//				removeMask : true,
//				msg : '数据传送中......'
//			});
//		this.loadMask.show();
		
		var record = this.grid.getSelectionModel().getSelected();
		
//		if(record == null) {
//			if(this.loadMask) {
//				this.loadMask.hide();
//			}
//			Ext.Msg.alert('错误提示', '您未选择行记录或为空记录..');
//			return;
//		}
		
//		if(!record) {
//			alert(this.store.getAt(0).data.companyId);
//			desktop.launchWindowByParam("addAutoPurchaseOrderWindowCreator", {'companyId' : this.store.getAt(0).data.companyId});
//			
//			if(this.loadMask) {
//				this.loadMask.hide();
//			}
//			
//			return;
//		}
		
		var compId = this.store.getAt(0).data.companyId;
		var compName = this.store.getAt(0).data.companyName;

		/*if(this.linkQuotaWindow[compId]) {
			
			desktop.launchWindowByParam("addAutoPurchaseOrderWindowCreator", {'companyId' : compId, 'record' : record});
			
			if(this.loadMask) {
				this.loadMask.hide();
			}
			
			return;
		}*/
		
		checkCertify(null, this.grid, null, null, compId, compName, compId, ',把您加为往来单位', true, this.launchWindow.createDelegate(this, [compId, record]));
		
//		Ext.Ajax.request({
//			url : RES_PATH + '/partner/checkPartner.do',
//			params : {'companyId' : this.companyId, 'relation' : '1'},
//			success : function(data) {
//				var bo = Ext.decode(data.responseText);
//				if(bo && bo.result + '' == 'go_on') {
////					var desktop = Uec3.App.getDesktop();
//					
////					this.loadMask = new Ext.LoadMask(Ext.getBody(), {
////						removeMask : true
//////						msg : '数据传送中......'
////					});
////					this.loadMask.show();
//					
//					desktop.launchWindowByParam("addAutoPurchaseOrderWindowCreator", {'partnerId' : bo.partnerId, 'companyId' : this.companyId, 'record' : record, linkWindow : this});
//				} else {
//					Ext.Msg.confirm("提示", '下订单先要加对方为供应商，您确定添加吗？', function(btnId) {
//						if(btnId == 'no') {
//							return;
//						} else {
//							
//							this.loadMask = new Ext.LoadMask(this.getId(), {
//									removeMask : true,
//									msg : '数据传送中......'
//								});
//							this.loadMask.show();
//							
//							Ext.Ajax.request({
//								url : Uec3.App.Constants.homeUrl
//										+ '/partner/query_partner!add_Partner.do',
//								success : function(res) {
//									
//					                if(this.loadMask) {
//										this.loadMask.hide();
//									}
//									var result = Ext.decode(res.responseText);
//									if (result.success == "OK") {
//					
//										 desktop.launchWindowByParam("requestAddPartner",{companyId : compId, name : compName, winId : compId});
//										
//									} else {
//					                         if(result.failure=="isSelf"){
//					                        	 
//					                     		Ext.Msg
//												.alert("提示",
//														"您好,不能加自己为客户");                      	 
//					                         }
//								           if(result.failure=="alreadyPartner"){
//								        	   
//								         		Ext.Msg
//												.alert("提示",
//														" 您好,该公司已经是你的客户,不能重复增加,请到客户列表查看");   
//								        	   
//								           }
//					
//									}
//								}.createDelegate(this),
//					
//								failure : function(res) {
//									if(this.loadMask) {
//										this.loadMask.hide();
//									}
//									Ext.Msg.alert('失败', "网络出现异常，请重先连接");
//					
//								}.createDelegate(this),
//					
//								params : {
//									companyId : compId
//								}
//					
//							});
//							
//							
////							Ext.Ajax.request({
////								url : RES_PATH + '/partner/addPartner.do',
////								params : {'companyId' : this.companyId, 'relation' : '1'},
////								success : function(data) {
////									if(this.loadMask) {
////										this.loadMask.hide();
////									}
////									var bo = Ext.decode(data.responseText);
////									if(bo && bo.result + '' == 'ok') {
////										Ext.Msg.confirm("提示", '供应商添加成功,您是否下订单？', function(btnId) {
////											if(btnId == 'no') {
////												return;
////											} else {
////												
//////												this.loadMask = new Ext.LoadMask(Ext.getBody(), {
//////													removeMask : true
////////													msg : '数据传送中......'
//////												});
//////												this.loadMask.show();
////					
////												desktop.launchWindowByParam("addAutoPurchaseOrderWindowCreator", {'partnerId' : bo.partnerId, 'companyId' : this.companyId, 'record' : record, linkWindow : this});
////											}
////										});
////									} else {
////										Ext.Msg.alert("提示", '您添加供应商失败..');
////									}
////								}.createDelegate(this)
////							});
//						}
//					}.createDelegate(this));
//				}
//				
//				if(this.loadMask) {
//					this.loadMask.hide();
//				}
//				
//			}.createDelegate(this)
//		});
	},
	createStore : function() {
		
		var queryParam = Ext.util.JSON.encode({'companyId' : this.companyId});
		
		return new Ext.data.JsonStore({
					url : RES_PATH + '/quotation/searchCompanyQuotation.do',
					baseParams : {
						'queryParam' : queryParam
					},
					mode : "local",
					totalProperty : "totalProperty",
					root : "root",
					idProperty : "id",
					pruneModifiedRecords : true,
					fields : this.record
				});
	},
	createGrid : function() {
		return new Ext.grid.GridPanel({
//					title : '数据明细',
					cm : this.colName,
					store : this.store,
					iconCls : 'icon-grid',
					loadMask : {
						msg : '数据加载中...'
					},
					viewConfig : {
//						forceFit : true
					},
					height : 380,
					tbar : new Ext.app.ModuleToolbar(
						[
							'-',
							{
								text : '显示该公司信息',
								iconCls : 'icon-edit',
								permission : 23,
								handler : this.showCompany.createDelegate(this)
							},
							'-',
							{
								text : '加为往来单位',
								iconCls : 'icon-add',
								permission : 24,
								handler : this.addPartner.createDelegate(this)
							},
							'-',
							{
								text : '下订单',
								iconCls : 'icon-add',
								permission : 47,
								handler : this.addPurchaseOrder.createDelegate(this)
							}
						]
					),
					bbar : new Ext.PagingToolbar({
						pageSize : purOrSaleOrderPageSize,
						store : this.store,
						displayInfo : true,
						displayMsg : '第 {0} - {1} 条  共 {2} 条',
						emptyMsg : "没有记录"

					})
				});
	}

});


Uec3.ShowCompanyQuotationWindowCreator = Ext.extend(Ext.app.Module, {
	id : 'showCompanyQuotationWindowCreator',
	type : 'common/notepad',

	createWindow : function(initParams) {
		var desktop = this.app.getDesktop();
		var flag = false;
		desktop.windows.each(function(win) {
			if(win.creator && win.creator == this) {
				if(win.companyId == initParams.companyId) {
					win.show();
					flag = true;
				}
			}
		}.createDelegate(this));
		if (flag) {
			return;
		}
		
		
		var win = desktop.createWindow({
				companyId : initParams.companyId,
				companyName : initParams.companyName,
				title : initParams.companyName + '报价信息',
				width : 1010,
				height : 480,
				iconCls : 'acc-icon',
				animCollapse : false,
				constrainHeader : true,
				maximizable : false,
				minimizable : false,
				taskbuttonTooltip : initParams.companyName + "报价信息",
				layout : "fit",
				items : [],
				layout : 'vbox',
				layoutConfig: {
		          align : 'stretch',
		          pack  : 'start'
		        }
			}, Uec3.ShowCompanyQuotationWindow);

			win.creator = this;
			var linkQuotaWindow = initParams.linkQuotaWindow;
			win.linkQuotaWindow = linkQuotaWindow;
			win.initPanel();
		
	}
});